바이브 코딩
- 2025-03-20
Andrej Karpathy가 2025년 2월 3일에 고안한 용어:
There’s a new kind of coding I call “vibe coding”, where you fully give in to the vibes, embrace exponentials, and forget that the code even exists. It’s possible because the LLMs (e.g. Cursor Composer w Sonnet) are getting too good. Also I just talk to Composer with SuperWhisper so I barely even touch the keyboard. I ask for the dumbest things like “decrease the padding on the sidebar by half” because I’m too lazy to find it. I “Accept All” always, I don’t read the diffs anymore. When I get error messages I just copy paste them in with no comment, usually that fixes it. The code grows beyond my usual comprehension, I’d have to really read through it for a while. Sometimes the LLMs can’t fix a bug so I just work around it or ask for random changes until it goes away. It’s not too bad for throwaway weekend projects, but still quite amusing. I’m building a project or webapp, but it’s not really coding - I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works.1
See also
메모
2025년 3월 12일에 겪은 일.
AI로 바이브 코딩하다가 시간을 어마어마하게 낭비했다. 제일 큰 원인은 상대적으로 생소한 분야였다는 점. 내가 잘 모르니 AI에게 똑바로 시키지 못하고, 똑바로 못시키니 AI가 좋은 결과를 못 만들고, 그런데 또 내가 잘 모르니 결과가 잘못되었다는 걸 잘 알아차리지도 못하면서 점점 산으로 갔다.
이 상태로 AI와 몇 번 더 대화를 주고 받으며 코드를 고치면 점점 산으로 간다. AI는 문제가 생기면 문제가 된 코드를 바꾸기보다는 문제를 틀어 막기 위해 또다른 코드를 추가하는 경우가 종종 있다. 결국 코드는 점점 더 복잡해지고 AI는 점점 더 많은 실수를 한다.
바이브 코딩 강령(?)에 따라 다 지우고 처음부터 다시 시작해도, 내가 그 분야에 생소하다는 사실 자체는 바뀌지 않기 때문에 마찬가지 수렁에 반복적으로 빠졌다. 그렇게 4시간을 보낸 뒤에 잠시 쉬었다가 마음을 다잡고 전략을 바꿈.
약 1시간 정도 시간을 내서 최소한의 공부를 하여 주요 개념과 용어를 파악했다(물론 AI의 도움을 받음). 그러고나서 다시 시작했더니 약 30분 만에 깔끔하게 해결되었다.
- 교훈1. 해당 코드가 ML 관련 코드였어서 한 번 실행에 10분 정도 걸렸던 점이 큰 문제 중 하나였다. 한 번 시행착오를 겪는 피드백 루프가 10분이면 지나치게 길다. 데이터를 샘플링해서 작게 만들고, 임시로 n_epoch를 줄이는 등 피드백 루프를 30초 이내로 줄이는 작업을 미리 했어야 했다.
- 교훈2. 아무리 바이브 코딩을 하더라도 시키는 인간이 최소한으로는 알아야 한다. 반성 ㅜㅜ “내가 이 분야를 너무 모르는구나”를 좀 더 빨리 알라차리려면 어떻게 하면 좋을까? 고민 필요.
2025년 3월 14일에 추가. 좀 더 생각해보니 위 결론은 너무 소극적이다. 모르는 걸 시키고 그 과정에서 삽질을 하고 결과물이 안나오면 “실패”인 것 맞는데, 실패 중에도 상대적으로 값진 실패가 있다. 얼마나 빨리 실패했는가, 과정에서 얼마나 배웠는가. 이렇게 두 가지가 중요. 이런 관점에서 좀 더 고민해보면 좋겠다.
Articles
- 2025-03-19 - Not all AI-assisted programming is vibe coding (but vibe coding rocks)
- 2025-03-18 - People of ACM - Tim Menzies
- I’m predicting a software engineering gold rush where more and more human engineers will have to be hired to clean up the train wrecks left behind by the next few years of vibe programming (vibe programming: driven by large language models (LLMs) with hints from humans, where no one reads or checks the hastily generated code).